<template>
  <DictSelect
    :dict-type="dictCode"
    :placeholder="placeholder"
    :model-value="modelValue"
    :include-all="includeAll"
    :all-text="allText"
    @update:model-value="$emit('update:modelValue', $event)"
    @change="$emit('change', $event)"
  />
</template>

<script setup>
import DictSelect from "./DictSelect.vue";

const props = defineProps({
  // 字典code
  dictCode: {
    type: String,
    required: true,
  },
  // 占位符文本
  placeholder: {
    type: String,
    default: "请选择状态",
  },
  // 默认值
  modelValue: {
    type: [String, Number, Boolean],
    default: "",
  },
  // 是否包含全部选项
  includeAll: {
    type: Boolean,
    default: false,
  },
  // 全部选项的文本
  allText: {
    type: String,
    default: "全部",
  },
});

const emit = defineEmits(["update:modelValue", "change"]);

// 重新加载数据
const reload = () => {
  // 这个方法现在由DictSelect组件实现
  // reload方法已弃用，请使用DictSelect组件的reload方法
};

// 暴露方法给父组件
const getOptions = () => {
  // 这个方法现在由DictSelect组件实现
  // getOptions方法已弃用，请使用DictSelect组件的getOptions方法
  return [];
};

defineExpose({
  reload,
  getOptions,
});
</script>

<style scoped>
/* 可以添加自定义样式 */
</style>